﻿using ElectronicCommerce.Framework.Configuration.Entities;
using ElectronicCommerce.Framework.Configuration.FrameworkConfig.CommonSettings;
using ElectronicCommerce.Framework.Configuration.FrameworkConfig.ConfigSettings;

namespace ElectronicCommerce.Framework.Configuration
{
    /// <summary>
    /// Config Helper
    /// </summary>
    public class ConfigHelper
    {
        public static IndexConfiguration IndexConfig
        {
            get
            {
                return ConfigManager.GetConfig<IndexConfiguration>();
            }
        }

        public static SearchIndexConfig SearchIndexConfig
        {
            get
            {
                return ConfigManager.GetConfig<SearchIndexConfig>();
            }
        }

        public static PriceRangeConfig PriceRangeConfig
        {
            get { return ConfigManager.GetConfig<PriceRangeConfig>(); }
        }

        public static ExManagerConfig ExManagerConfig
        {
            get { return ConfigManager.GetConfig<ExManagerConfig>(); }
        }

        public static ErrorInfoConfig ErrorInfoConfig
        {
            get { return ConfigManager.GetConfig<ErrorInfoConfig>(); }
        }

        /// <summary>
        /// Connection String  Config 
        /// </summary>
        //public static ConnectionStringConfigs ConnectionStringConfigs
        //{
        //    get { return ConfigManager.GetConfig<ConnectionStringConfigs>(); }
        //}

        /// <summary>
        /// Message Resource Config 
        /// </summary>
        public static MessageResourceConfig MessageConfig
        {
            get { return ConfigManager.GetConfig<MessageResourceConfig>(); }
        }

        /// <summary>
        /// Comment Point Config
        /// </summary>
        public static CommentPointConfig CommentPointConfig
        {
            get { return ConfigManager.GetConfig<CommentPointConfig>(); }
        }

        ///<summary>
        /// Fix Sql Config
        ///</summary> 
        //public static FixSqlConfig FixSqlConfig
        //{
        //    get { return ConfigManager.GetConfig<FixSqlConfig>(); }
        //}

        /// <summary>
        /// Custom Key Word Config
        /// </summary>
        public static CustomKeywordConfig customKeywordConfig
        {
            get { return ConfigManager.GetConfig<CustomKeywordConfig>(); }
        }

        /// <summary>
        /// Common Settings
        /// </summary>
        public static CommonSettings CommonSettings
        {
            get { return FrameworkConfig.FrameworkConfig.GetConfig<CommonSettings>(); }
        }

        /// <summary>
        /// Config Settings 
        /// </summary>
        public static ConfigSettings ConfigSettings
        {
            get { return FrameworkConfig.FrameworkConfig.GetConfig<ConfigSettings>(); }
        }
    }
}
